package com.landian.commons.jpa.order;

import com.querydsl.core.types.Path;
import org.apache.commons.collections.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * 排序单元容器
 *
 * @see Sort
 * @author caojl
 * @create 2017/12/14
 **/
@Deprecated
public class OrderUnitContainer {
    /**
     *
     */
    public static OrderUnitContainer newInstance(){
        return new OrderUnitContainer();
    }

    /**
     * 更新单元容器
     */
    public List<OrderUnit> orderUnitList = new ArrayList<>();

    /**
     *
     */
    public OrderUnitContainer asc(Path path){
        return add(OrderUnit.asc(path));
    }

    /**
     *
     */
    public OrderUnitContainer desc(Path path){
        return add(OrderUnit.desc(path));
    }

    /**
     * 更新单元
     */
    public OrderUnitContainer add(OrderUnit... OrderUnits){
        if(null != OrderUnits){
            for (OrderUnit OrderUnit : OrderUnits) {
                orderUnitList.add(OrderUnit);
            }
        }
        return this;
    }

    /**
     * 更新单元
     */
    public OrderUnitContainer add(List<OrderUnit> OrderUnits){
        if(CollectionUtils.isNotEmpty(OrderUnits)){
            for(OrderUnit OrderUnit : OrderUnits){
                if(null != OrderUnit){
                    orderUnitList.add(OrderUnit);
                }
            }
        }
        return this;
    }

    /**
     * 返回列表
     */
    public List<OrderUnit> getList(){
        return orderUnitList;
    }
}
